package com.dkd.manage.mapper;

import com.dkd.manage.domain.Task;
import com.dkd.manage.domain.vo.TaskVo;

import java.util.List;

/**
 * 工单Mapper接口
 *
 * @author Lxb
 * @since 2025-10-12
 */
public interface TaskMapper {
    /**
     * 查询工单
     *
     * @param taskId 工单主键
     * @return 工单
     */
    Task selectTaskByTaskId(Long taskId);

    /**
     * 查询工单列表
     *
     * @param task 工单
     * @return 工单集合
     */
    List<Task> selectTaskList(Task task);

    /**
     * 新增工单
     *
     * @param task 工单
     * @return 结果
     */
    int insertTask(Task task);

    /**
     * 修改工单
     *
     * @param task 工单
     * @return 结果
     */
    int updateTask(Task task);

    /**
     * 删除工单
     *
     * @param taskId 工单主键
     * @return 结果
     */
    int deleteTaskByTaskId(Long taskId);

    /**
     * 批量删除工单
     *
     * @param taskIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteTaskByTaskIds(Long[] taskIds);

    /**
     * 查询工单列表
     *
     * @param task 工单
     * @return 工单Vo集合 - 添加了工单类型信息
     */
    List<TaskVo> selectTaskVoList(Task task);
}
